package com.easylinkin.linkappapi.meterbilling.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easylinkin.linkappapi.meterbilling.entity.MeterRemedy;
import com.easylinkin.linkappapi.meterbilling.entity.ext.MeterRemedyExt;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * class info :
 *
 * @author liuqihang
 * @date 2021/8/3 15:22
 */
public interface MeterRemedyService {

    /**
     * 抄表补录列表
     * @param page
     * @param meterRemedyExt
     * @return
     */
    IPage<MeterRemedyExt> getPage(Page page, MeterRemedyExt meterRemedyExt);

    /**
     * 新增抄表补录数据
     * @param meterRemedy
     */
    String addRemedyRecord(MeterRemedy meterRemedy) throws Exception;

    /**
     * 获取未经过定时任务计算的补录数据
     * @param deviceCode
     * @return
     */
    List<MeterRemedy> getNotCalculateMeterRemedyData(String deviceCode);

    /**
     * 导出抄表补录数据Excel
     * @param meterRemedyExt
     * @param request
     * @param response
     */
    void export(MeterRemedyExt meterRemedyExt, HttpServletRequest request, HttpServletResponse response);

    /**
     * 修改补录设备为已计算状态
     * @param deviceCode
     */
    void restoreDeviceCalculateStatus(String deviceCode, List<Integer> idList);
}
